class ArchivoServicio < ActiveRecord::Base
	belongs_to :lugar
	belongs_to :actividad, :class_name => "ArchivoActividad"	
	belongs_to :tipo_persona
	has_many :sps, :dependent=>:destroy, :class_name => "ArchivoSp"
	has_many :reserva_sps
	
	def self.generar(paquete_servicio, nro_personas, fecha_arribo, moneda)
		servicio = paquete_servicio.servicio
		f = (fecha_arribo + paquete_servicio.dia - 1);
		
		if servicio == nil
			raise "Servicio eliminado de paquete\nActividad: #{paquete_servicio.actividad}, Servicio:#{paquete_servicio}"
		end
		
		as = ArchivoServicio.new(
			:nombre=>paquete_servicio.nombre,
			:fecha=>f,
			:hora => paquete_servicio.hora,			
			:lugar_id=>paquete_servicio.lugar_id,			
			:tipo_persona_id=>paquete_servicio.tipo_persona_id,
			:costo => 0,
			:utilidad => 0,
			:precio => 0			
		)		
		
		asp = ArchivoSp.generar(servicio, nro_personas, f)
		
		as.sps << asp
		
		as.costo += asp.costo_en(moneda)
		as.utilidad += asp.utilidad_en(moneda)
		as.precio += asp.precio_en(moneda)
				
		as
	end	
end
